package com.sunwayworld.basemodule.rm.train.exam.resource;

import com.sunwayworld.basemodule.rm.train.exam.bean.LimsCoreExamBean;
import com.sunwayworld.basemodule.rm.train.exam.bean.LimsCoreExamQuestionBean;
import com.sunwayworld.basemodule.rm.train.support.constant.LimsTrainPathConstant;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;


import com.sunwayworld.framework.data.page.Pagination;
import com.sunwayworld.framework.restful.data.RestJsonWrapperBean;
import com.sunwayworld.framework.support.activatable.resource.GenericActivatableCloudResource;
import com.sunwayworld.framework.support.base.resource.GenericCloudResource;
import com.sunwayworld.framework.support.choosable.resource.GenericChoosableCloudResource;

@RequestMapping(LimsTrainPathConstant.CORE_EXAM_PATH)
public interface LimsCoreExamResource extends GenericCloudResource<LimsCoreExamBean, Long>, GenericActivatableCloudResource<LimsCoreExamBean, Long>, GenericChoosableCloudResource<LimsCoreExamBean, Long> {

    @RequestMapping(value = "/questions", method = RequestMethod.POST)
    void insertQuestion(RestJsonWrapperBean wrapper);

    @RequestMapping(value = "/questions", method = RequestMethod.DELETE)
    void deleteQuestion(RestJsonWrapperBean wrapper);
    
    @RequestMapping(value = "/{id}/questions/queries", method = RequestMethod.POST)
    Pagination<LimsCoreExamQuestionBean> selectExamQuestionPaginationByExamId(@PathVariable Long id, RestJsonWrapperBean wrapper);

}